package unq.edu.cui.tp.dominio;

import org.uqbar.commons.utils.Observable;

@Observable
public class Dia {

	private String nombreDia;
	private Integer desde; //horario inicio
	private Integer hasta;//horario fin
	
	/**
	 * Verifica si el rango del dia cumple las condiciones (Rango menor de 8 y mayor de 4)
	 * @return
	 */
	public boolean cumpleCondicionesDeHorario() {
		 
		return this.getDesde() < this.getHasta() && this.getHasta() - this.getDesde() >= 4 && this.getHasta() - this.getDesde() <= 8;
	}
	
    /**
     * Getters and setters
     */
	public String getNombreDia() {
		return nombreDia;
	}
	public void setNombreDia(String nombreDia) {
		this.nombreDia = nombreDia;
	}
	public Integer getDesde() {
		return desde;
	}
	public void setDesde(Integer desde) {
		if(desde>= 0 && desde <=24){
			this.desde = desde;
		}
		else{
			throw new HorarioInconrrectoException("Formato de horario: 24hs");
		}
	}
	public Integer getHasta() {
		return hasta;
	}
	public void setHasta(Integer hasta) {
		if(hasta>= 0 && hasta <=24){
			this.hasta = hasta;
		}
		else{
			throw new HorarioInconrrectoException("Formato de horario: 24hs");
		}
	}
	/**
	 * Constructor.
	 * @param nombreDia
	 * @param desde
	 * @param hasta
	 */
	public Dia(String nombreDia, int desde, int hasta) {
		super();
		this.nombreDia = nombreDia;
		this.desde = desde;
		this.hasta = hasta;
	}

	public Dia() {
		super();
	}
}
